1. Field of the Invention
The present invention relates to techniques that enable correction of burst errors in communications networks.
In a specific way, the invention relates to techniques for modifying dynamically the level of redundancy for forward error correction(FEC) on the basis of the conditions of noise on the channel.
The invention has been developed with particular attention paid to its possible use in wireless local-area networks (WLANs), but can be applied to all communications networks that may be exposed to loss of information (loss-prone networks).
2. Description of the Related Art
The growing number of applications that use transport protocols of an unreliable type, such as the UDP (unreliable datagram protocol), renders necessary the adoption of techniques for the recovery of the lost packets to obtain error-resistant transmissions, above all in the case where the transmission occurs on error-prone communications networks, such as for example wireless networks.
An excessive packet-loss rate can very markedly reduce the quality of the received data. One of the techniques for recovery of lost packets (which preserves the quality of the data) uses the Reed-Solomon (RS) error-correction code. This technique envisages the generation of (n−k) redundant packets (FEC packets) for each block of k packets of transmitted data. The FEC packets are transmitted together with the data flow in order to protect the received data from losses. This type of solution enables protection of the data of up to a maximum of (n−k) lost packets every n packets transmitted.
The disadvantages in the use of this technique regard optimal assignment of the parameters n and k for error correction. The parameters can be chosen so as to maximize efficiency in terms of useful data using an error correction that is precise to the point of compensating exactly the level of loss and nothing else.
It is hence necessary to reach a balance between the amount of information added by the error-correction code (which uses bandwidths that could be used for useful data and thus causes reduction in the efficiency of transmission of the data) and the minimum amount of error-correction packets necessary on the basis of the conditions of the channel (which can be useful to increase the efficiency of transmission of the data, avoiding retransmissions).
Strictly connected to the above disadvantages is the problem of the distribution of the recurrences (occurrences) of the lost packets. In effect, a loss model can have a more or less important effect on the resulting distortion at the receiver end, and hence accurate models for forecasting losses may represent a valid aid for minimizing the resulting distortion.
In particular, burst losses have a given recurrence on loss-prone networks, particularly wireless networks, and generally cannot be easily or completely recovered. In the presence of burst errors, the techniques based upon the simple calculation of the mean packet error rate (PER) are those that afford the worst performance.
FEC packets generated by error-correction codes, such as the Reed-Solomon code, on account of their capacity for recovering more than one packets in a data block, are a good tool against burst distribution of losses.
In the presence of burst losses, the FEC packets can be more effective if they are used together with an interleaving technique.
Interleaving techniques enable random burst losses to be more sparse within the data flow and are based on the solution of transmitting the packets not in their sequential order but according to a different order, defined by a pre-set law. An example of pre-defined order is the one shown in FIG. 1.
In particular, in FIG. 1 first all the packets “pck0” of the t blocks are transmitted in order starting from the packet “pck0” of block “0” up to the packet “pck0” of block “t−1”, then all the packets “pck1” are transmitted always in the same order, and so on up to the packets “pck(k−1)”. After the k packets of all the t blocks have been transmitted, the n FEC packets are transmitted once again in the same order.
The number of blocks designed to be interleaved is chosen taking into account the need to render sparse the errors and respecting constraints in terms of decoding delay, which are particularly important for real-time applications (before starting the operation of decoding, all the blocks involved in interleaving must have been received).
The problem can be reduced to the operation of finding the optimal values for the following parameters:                number k of data packets to be protected with the FEC packets;        number (n−k) of FEC packets that protect the k data packets computed at the previous step; and        depth of interleaving (understood as the number of blocks that are involved in interleaving).        
The purpose of the above procedure is to enable maximization of the efficiency of transmission of the useful data and minimization of the residual losses (losses of the data packets) at the receiver end.
Various known methods for providing error correction typically supply a fixed number of FEC packets, without considering the expedience of increasing/decreasing the efficiency of transmission on the basis of detection of variations in the condition of congestion or noise on the channel.
Other known solutions propose a dynamic modification of the percentage of packets that are introduced for correcting transmission errors. The majority of these solutions do not prove, however, suitable for modelling and exploiting the measurement of the level of burstiness of the error model to improve protection in regard to errors. The mean packet error rate by itself is not a good reference parameter for representing the actual characteristics of the error model because, in the presence of burst losses, the mean packet error rate is usually much lower than the burst packet error rate.
The example of FIG. 2 shows a model that comprises 64 packets, in which a “1” denotes a packet that has been received, a “0” denotes a lost packet, and an “X” denotes a rejected packet.
The burst consists of the twelve packets designated in FIG. 2 by the reference “burst” that starts with a rejected packet X and ends with a lost packet 0. The first correct-reception interval, designated by “gap”, begins at the start of the session, and the second correct-reception interval terminates at the end of transmission. Half-way between the two correct-reception intervals there is precisely the burst-error interval designated by “burst”.
The parameter Gmin is the minimum distance in the received packets between two lost/rejected packets so that a loss can be considered as belonging to a correct-reception interval.
For example, if the parameter Gmin is adjusted at the value 16, the burst density is 0.33 (4 lost or rejected packets divided by the total number of 12 expected packets) and the density of the correct-reception interval is 0.04 (2 lost or rejected packets divided by the total number of 52 expected packets). Consequently, the loss rate is 9.4%.
As has been said, FIG. 2 provides a real trace of the errors, where “1” means that the packet has been received and “0” that the packet has been lost. The mean PER (calculated dividing the sum of the lost and/or rejected packets by the total number of expected packets) is 9.4%. Introduction of a FEC only on the basis of this parameter will render non-recoverable all the losses in the burst interval (i.e., 33% of the expected packets). On the other hand, the FEC introduced in the correct-reception interval is useless.
Other known solutions propose dynamic methods for flexible adaptation of the error-correction capacity for recovering the lost packets and simultaneously adapting the data rate in such a way as not to increase the total data rate, applying a number of FEC packets. These methods are usually based upon the responses transmitted by the receiver to the transmitter.
As regards specifically the patent literature, the document U.S. Pat. No. 5,699,365 describes a method and an apparatus for adaptive forward error correction in data-communication systems. This solution envisages dynamic variation of the error-correction parameters on the basis of the conditions of the communication channel, as well as the level of noise and the error rate.
In the method proposed in the document U.S. Pat. No. 5,699,365, data are received, which have a current degree of forward error correction, and a channel parameter is controlled, such as, for example, the bit error rate or packet error rate. A threshold level is moreover defined for the channel parameter, and the channel parameter controlled is compared with said threshold level. When the channel parameter does not fall within a pre-set or adaptable range of variance of the threshold level, a new modified parameter of forward error correction is selected, which has a higher or lower degree of capacity for forward error correction. This modified error-correction parameter is transmitted on the channel. The device that receives the modified error-correction parameter transmits the data encoded using the new modified error-correction parameter.
The document WO-A-2004/040831 describes a solution applied to packet-transmission networks. An adaptive scheme of error control performed at the application level is proposed, at the same time enabling a maximum tolerated packet error rate to be respected. According to the scheme proposed, the amount of redundancy is adapted so as to afford a possibility of error correction enabling the maximum tolerated error rate to be respected. The maximum tolerated error rate is established by the particular application.
The document CA 2 430 218 describes an adaptive error-correction technique based upon the noise bursts in which the rate of occurrence of these bursts is measured. The error-correction parameters are determined using statistics that describe the duration and period of the noise bursts. The occurrences, duration and period of the noise bursts are determined by the length of the error vector calculated during the decoding process.
The document U.S. Pat. No. 5,181,207 describes a mechanism for correcting errors in a digital data stream encoded by the transmitter and transmitted on a communication channel to a receiver and decoded by the receiver for recovering the digital data pre-encoded using a parity encoder. The position of the errors is determined by an operation of comparison, on the basis of which the receiver can generate a mask of the model of the errors in the received digital data stream. This mask of the error model is used in an preventive iterative error-correction process for identifying the position of the burst errors contained in the data recovered and for modifying the output of the host decoder of the receiver in a controllable way so as to eliminate the errors identified from the data originally decoded.
The document U.S. Pat. No. 2004/015765 describes an adaptable and dynamic scheme of error correction for a communication channel. The method calculates the real bit error rate in order to make a comparison with a reference bit error rate. When a channel provides a performance better than the required performance, the power of forward error correction can be reduced in order to provide a better efficiency. If the real bit error rate calculated is higher than the reference bit error rate, then the power of error correction is increased in an attempt to reduce the bit error rate. A feedback loop is used for continuous calculation of the modified bit error rates whilst the power of error correction is increased or decreased.
The document U.S. Pat. No. 6,741,569 describes a subjective quality-control system for multimedia-signal packet-transmission systems that evaluates the parameters of a statistical model that represents the probability of the packet-transmission system that is in a condition of low losses or in a condition of high losses and uses said evaluations of the parameters for predicting the subjective quality of the multimedia signal. The quality-control system contains a plurality of quality-control functions located in the point of conversion between multimedia signal and packet.